In recent years, a virtual computer system in which a virtualization section called “Virtual Machine Motor (VMM)” is introduced to enable simultaneous operation of a plurality of operating systems (OS) on a single physical server (computer) is utilized in various fields. Each OS is installed onto a physical server, and likewise, the OS is installed onto a virtual server (virtual computer) having a virtual resource, called “Virtual Machine (VM)”, respectively. The OS that operates on the VM is called “guest OS”. The VMM handles each VM as a software entity, time-division-multiplexes a physical resource, and allocates these time slots to the plurality of VMs, thereby achieving resource sharing between the VMs. The VMM, which has various architectures, is typified by VMware or Xen (refer to, e.g., Non-Patent Document 1).
In a virtualized computer system, a virtualization section provides a virtual resource to each virtual device. The virtual resource is a resource obtained by virtualizing a physical resource such as a central processing unit (CPU), a memory, a disk, or an I/O (Input/Output) device typified by a network interface card (NIC). The guest OS operating on the virtual device operates as if it were operating on the physical resource. Actually, however, the virtualization section schedules a plurality of virtual resources and applies time-division-multiplex to the physical resource so as to allocate the time slots to the guest OS. By changing parameters of the scheduling so as to change allocation of the physical resources, the capacity of the virtual resources allocated to each virtual device can be changed dynamically. In the case of a CPU, taken as a typical resource, parameters concerning time, such as calculation time or period to be allocated or frequency to be allocated to a certain time period (in the case where the frequency is variable) can be changed. Further, in the case of a memory or disk, memory capacity, disk capacity or the like can be taken as the examples of the above parameters. Further, in the case of an NIC, occupied bandwidth can be taken as the examples of the above parameters. In particular, in the case of the disk, throughput or the like can be changed depending on scheduling of a request.
Meanwhile, with regard to a computer system, studies about optimization of resource allocation for maximizing the index of performance or the like have widely been made. As the performance index, QoS (Quality of Service) of an application is often used. The QoS is used as an index associated with, e.g., processing delay or throughput. Optimum resource allocation is performed so that the maximum QoS (e.g., sum of weighting values on the QoS values of all applications) can be obtained across the entire system in a given target time zone. The above resource allocation is performed mainly by an OS in conventional type computer systems, and the OS controls and manages, in a centralized fashion, scheduling of resource allocation to an application and setting change of physical resources, such as a change of CPU frequency or disk rotation speed. The index determined by the application QoS is achieved by control of the physical resources and resource allocation, so that information on a wide range of a plurality of layers including an application layer, an OS layer, and a physical resource layer are provided. A centralized cross-layer management that centralizes these information in the OS layer has been adopted aggressively in a mobile computing whose computational resources are restricted by available battery energy (refer to, e.g., Non-patent Document 2). The above cross-layer management is achieved by the OS, in a privileged position over all the layers, dynamically controlling scheduling parameters or physical resource allocation setting so as to optimize the index. With the above control, the maximum performance can be obtained with the minimum power consumption.
Non-Patent Document 1: P. Barham et al. “Xen and the art of virtualization”, In Proc. SOSP 2003. Bolton Landing, New York, U.S.A. Oct. 19-22, 2003
Non-patent Document 2: W. Yuan, et al., “Design and Evaluation of A Cross-layer Adaptation Framework for Mobile Multimedia Systems”, Proceedings of the SPIE/ACM Multimedia Computing and Networking Conference (MMCN '03), Santa Clara, Calif., Jan. 2003, 1-13.